System and method for visually tracking a learned process

ABSTRACT

The disclosed embodiments include systems and methods for creating trails indicative of a learned process. In one embodiment, a user provides a title and user input for generating the learned processed is received. Nodes are created to represent steps of the learned process in response to the user input. Information for each of the steps is associated with each of the nodes. The nodes are connected in an order for performing the learned process. The connected nodes are visually displayed as a trail for one or more users to perform the learned process.

BACKGROUND

The use of and development of online resources and electroniccommunications has grown nearly exponentially in recent years. Thegrowth is fueled by larger networks with more reliable protocols andbetter computing and communications devices available to individuals,users and service providers. As a result, users utilize and rely ononline resources more and more to perform tasks, both simple andcomplex. In many cases, users may perform a single task multiple timesor may want to share information with friends, family, or strangers.Existing websites and tools are not focused on duplicating informationand processes for users that would like to access the same information.

SUMMARY

One embodiment provides a system, method, and device for visuallytracking a learned process. The user input utilized to perform thelearned process and a title for the learned processed is received. Nodesare created to represent steps of the learned process in response to theuser input. Information for each of the steps is associated with each ofthe nodes. The nodes are connected in an order for performing thelearned process. The connected nodes are visually displayed as a trailfor one or more users to perform the learned process. The device mayinclude a processor and a memory for storing a set of instructions toimplement the method herein described.

Another embodiment provides a system for visually tracking a learnedprocess. The system may include a client configured to receive userinput utilized to perform the learned process. The system may include aserver configured to create nodes to represent steps of the learnedprocess in response to the user input, associate information for each ofthe steps with each of the nodes, connect the nodes in an order forperforming the learned process, and visually display the connected nodesas a trail for one or more users to perform the learned process.

One embodiment provides a system and method for managing a trail. Thetrail may be generated in response to receiving user input provided by auser. The trail may include multiple nodes that are interconnected.Characteristics for the multiple nodes including at least shape andcolor may be established. The trail may be modified in response toreceiving additional user input. The trail may be displayed according touser preferences established by the user. The system may include aprocessor and a memory for storing a set of instructions to implementthe method herein described.

Another embodiment provides a system for managing a trail. The systemmay include one or more clients for receiving user input. The system mayinclude a server in communication with the one or more clients throughat least one network. The server may be operable to generate the trailin response to receiving the user input provided by a user through theone or more clients, the trail includes multiple nodes that areinterconnected to perform a learned process, establish characteristicsfor the multiple nodes including at least shape and color, modify thetrail in response to receiving additional user input, and display thetrail according to user preferences established by the user.

One embodiment provides a method for displaying a trail to a user. Auser profile may be established for the user. A learning preference forthe user is determined in response to receiving user input to multiplequestions. A set of peers may be determined for the user in response tointeractions with the user. A trail may be displayed for the userutilizing the set of peers.

Another embodiment provides a server for displaying a trail to a user.The logic may be operable to establish a user profile for multipleusers, determine learning preferences for the multiple users in responseto receiving user input to multiple questions, and determine a set ofpeers for the user in response to interactions with the user. The servermay further include one or more databases for storing multiple trails.The server may display the trails to the multiple users according touser preferences associated with each of the multiple trails.

Yet another embodiment provides a server for displaying a trail to auser. The server may include a processor for executing a set ofinstructions and a memory for storing the set of instructions. The setof instructions may be executed to establish a user profile for theuser, determine a learning preference for the user in response toreceiving user input to multiple questions, determine a set of peers forthe user in response to interactions with the user, and display a trailfor the user utilizing the set of peers.

One embodiment provides a system, method, and device for generating atrail. The device may include a processor for executing a set ofinstructions and a memory for storing the set of instructions. The setof instructions may be executed to receive user input to create a trailin response to content generated or retrieved by a user, establish ahierarchy for the trail in response to receiving the content, establishcharacteristics for the multiple nodes including at least shape andcolor, and generating the trail utilizing the hierarchy and thecharacteristics and according to user preferences established by theuser. The trail may include multiple nodes that are interconnected.

Another embodiment provides a server for generating a trail for a user.The server may include logic operable to receive user input to create atrail in response to content generated or retrieved by a user, establisha hierarchy for the trail in response to receiving the content, thetrail includes multiple nodes that are interconnected, establishcharacteristics for the multiple nodes including at least shape andcolor, and generate the trail utilizing hierarchy and thecharacteristics and according to user preferences established by theuser. The server may include one or more databases for storing multipletrails including the trail and the user preferences.

Yet another embodiment provides a method for generating a trail. Userinput may be received to create the trail in response to contentgenerated or retrieved by a user. A hierarchy may be established for thetrail in response to receiving the content. The trail may includemultiple nodes that are interconnected. Characteristics are establishedfor the multiple nodes including at least shape and color. The trail maybe generated utilizing the hierarchy and the characteristics accordingto user preferences established by the user.

BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative embodiments of the present invention are described indetail below with reference to the attached drawing figures, which areincorporated by reference herein and wherein:

FIG. 1 is a pictorial representation of an online environment inaccordance with an illustrative embodiment;

FIG. 2 is a pictorial representation of a trail management system inaccordance with an illustrative embodiment;

FIGS. 3-6 are pictorial representations of trails in accordance withillustrative embodiments;

FIG. 7 is a pictorial representation of a trail overview interface inaccordance with an illustrative embodiment.

FIG. 8 is a pictorial representation of a display interface inaccordance with an illustrative embodiment;

FIG. 9 is a flowchart of a process for creating a trail from a templatein accordance with an illustrative embodiment;

FIG. 10 is a flowchart of a process for creating a trail in accordancewith an illustrative embodiment;

FIG. 11 is a flowchart of a process for generating trails in accordancewith an illustrative embodiment;

FIG. 12 is a flowchart of a process for managing a trail in accordancewith an illustrative embodiment;

FIG. 13 is a flowchart of a process for searching trails in accordancewith an illustrative embodiment; and

FIG. 14 is a pictorial representation of profiles in accordance with anillustrative embodiment.

DETAILED DESCRIPTION OF THE DRAWINGS

Illustrative embodiments provide a system and method for tracking andmanaging content. In one embodiment, the system and method may beutilized to generate trails. Trails are a collection of visual andtextual indicators associated with online content, information, anddata, such as websites, videos, images, lists, or other information.However, the trails may also be adapted for those users that arevisually, audibly, or otherwise impaired or presented utilizingcorresponding mediums (e.g. audible, tactile trails).

The trails may be hierarchically organized to include any number ofcomponents including trails, requests, users, relationships (e.g.profiles, peers, maps) or other sub-components (e.g. nodes, tags,sequences, visualization, etc). The trails may include nodesrepresenting distinct content (i.e. uniform resource locators (URLs)),documents, files, information, videos, etc) that may be added to thesystem by users which may have been annotated with notes, tags, titlesdescriptions and other labels and which may be connected utilizing anynumber of connectors. The nodes of the trail may be positioned,displayed, or laid out randomly, sequentially, or in any number ofautomatically generated or user selected patterns. The nodes andconnectors may be represented by any number of shapes, colors, patterns,and interactive features (e.g. pop-up windows, displayable informationbased on a mouse-over, etc).

The trails may be utilized to address any topic, process, project,research or other information. The trails may be associated with a useraccount and profile, including a username and password. The user accountmay further specify preferences and permissions for sharing all orportions of the trails that are associated with the user account. In oneexample, a user may make specified trails public to anyone and mayinclude information for indexing and searching the trail. Publiclyavailable trails may be labeled and indexed as a whole and based ontheir many parts for online searches performed through a specificwebsite or through general Internet searching. In another example, theuser may specify trails that are private or only shared with specificparties by invitation. The profile may be explicitly or implicitlycreated based on surveys, questionnaires, and actions, such asgenerating, cloning, reviewing, reading, or otherwise interacting withtrails created by the user or other users. As a result, the profile maybe updated automatically or based on user events to further customizehow the user displays, manages, and accesses trails. The describedsystem may also be utilized to filter, calculate, and return searchresults including ‘next nodes’ or ‘next trails’ as well as relatedtrails, requests, and users.

In one embodiment, trails may be utilized to answer one or morequestions. Rather then just curating, collecting, and sharing bookmarksand online content, trails may be utilized to provide a clear sequenceand a visualization of main and tangential links, forks or branches inconjunction with nodes, notes, labels, and more to answer a question oraddress a particular issue. As a result, utilizing trails providesexpanded information for subsequent use by any user, documentation, orinformation sharing activity. Trails may be particularly useful whenintegrated with social networking features.

The illustrative embodiments provide a system and method for creating,visualizing, and distributing trails to help users understand any topicor answer most any question. The subject matter addressed by the trailmay start from either an explicitly input topic(s), from semanticallyexpanded terms to related topics, or from analyzing the content of aquestion to generate relevant topic(s). Relationships, important, andcontext may also be utilized to generate the subject matter. One or moretrails may be created which teach or address the topic or questionbroadly with a general framework or address the topic or questionthrough a very specialized or focused look.

The trails may utilize URLs, or all or portions of documents, websites,videos, pictures, files, or similar media found online. The trails andthe associated information, data, and files provide information,processes, and sequences, to learn the topic or answer the question. Forexample, the trails may be personalized and algorithmically generatedfor each user profile utilizing (1) implicit peer-curation, (2) learningpreferences mapped between how individuals like to learn or receiveinformation and how sites teach or offer information, and (3) sequencedand shaped tangents, forks, branches, colors, and other visual cues ofconceptual and pedagogical relationships of the subject matter. Implicitpeer-curation means that actions, such as rating, cloning, and pruningof user peers may be used to score, rate, filter, and otherwise shapethe pool of potential trails and trail nodes (e.g. urls, documents,etc). The trail may also be generated utilizing learning preferences,maps, semantic analysis, media-type analysis, and other factors of theimplemented logic. Algorithmically generated trails are similarlyavailable for cloning, editing, rating, commenting, direct curation, andother forms of interaction.

The trails may be aggregated from learning preferences, semanticanalysis, or media-type analysis into a map of characteristics forfiltering, matching and peering. The aggregation of information may beutilized for both trail creating and teaching a system for sharing andso forth.

FIG. 1 is a pictorial representation of an online environment 100 inaccordance with an illustrative embodiment. The online environment 100may include any number of hardware and software components that may beutilized to generate, manage, and access trails. In one embodiment, theonline environment 100 includes front end clients 102, including mobiledevices 104, web browser 106, and data services 108. The onlineenvironment 100 further includes the Internet 108 and it wirelessnetwork 110. The online environment 100 further includes a Web server112, including a template engine 114, APIs 116, an object relationalmapper 118, a web framework 120, and a relational database managementsystem (RDBMS) 120 and other data storage components. The onlineenvironment 100 further includes a search/indexing server 124, includinga search engine 126, custom programming 128, and web crawler andindexing applications 130.

The front end clients 102 may include any number of electronic devices,applications, and communications and computing services. In oneembodiment, the front end clients 102 may be represented by mobiledevices 104, web browser 106, and data services 108. For example, thefront end clients 102 may include cell phones, PDAs, tablets, personalcomputers, mP3 devices, e-readers, terminals, web browsers (e.g.Internet Explorer, Firefox, Chrome, Safari, Opera, etc.), websites,social networks, or other similar devices, applications, logic, orcommunication services.

The front end clients 102 may be a computing or communications device orthe operating system, application or software for performing andexecuting programs and instructions and accessing the Internet 108.However, the front end clients 102 may be any computing orcommunications devices suitable for communicating with the Internet 108or wireless networks 110 through a network connection. Wired connectionsof the online environment 100 may include fiber optics, coaxial cables,wires, telephone cables, or other wired networks suitable forcommunication over a hard wired connection with any of the components ofthe online environment 100.

The front end clients 102 may also communicate with the wireless network110 using communications protocols, such as time division multipleaccess (TDMA), code division multiple access (CDMA), global systems formobile (GSM) communications, personal communications systems (PCS),WiFi, WLAN, WiMAX, or other frequently used cellular and datacommunications protocols and standards. For example, mobile devices, 104may include cellular phones, smart phones (e.g. iPhones, Androiddevices, etc), Blackberry® devices, personal digital assistances (PDA),mp3 players, laptops, evolution data optimized (EDO) cards, multi-modedevices, and other wireless communication devices and elements.

Communications within the online environment 100 may occur on any numberof networks which may include wireless networks, data or packetnetworks, cable networks, satellite networks, private networks, publiclyswitched telephone networks (PSTN), the Internet 108, or other types ofcommunication networks. A communications network is infrastructures forsending and receiving messages and signals according to one or moredesignated formats, standards, and protocols. The networks of the onlineenvironment 100 may represent a single communication service provider ormultiple communications services providers. The features, services, andprocesses of the illustrative embodiments may be implemented by one ormore elements of the online environment 100 independently or as anetworked implementation. The online environment 100 may further includeany number of hardware and software elements that may not be shown inthe example of FIG. 1.

The web server 112 and the search/indexing server 124 (jointly server111) may represent one or more servers. In one embodiment, the server111 may be described in terms of presentation, framework, and database.For example, the server 111 may represent a server farm or cloud networkaccessible to the front end clients 102. In one embodiment, the webserver 112 is a computing device composed of hardware and software thatmanages the creation and delivery of trails through the Internet 108 andwireless network 110. For example, the web server 112 may deliver webpages including trails to the front end clients 102 upon request. Thetrails may be delivered as HTML, XML, JSON, and other formats orstandards and may include multiple forms of static and interactivecontent, such as images, stylesheets, and scripts. The components of theweb server 112 represent standalone or integrated programs, softwareapplications, and instructions that may be stored in one or morememories and executed by one or more processing units of the web server112 to implement the systems and methods herein described.

The template engine 114 is software that that processes presentationtemplates and content information to produce online content anddocuments, including trails. For example, the content may be generatedand managed by PHP, HTML, CSS, JavaScript, or other similar languages orlibraries. The web template is a tool that separates content frompresentation for mass production of online content and documents. Thetemplate engine 114 may present any number of trails templates ininteractive forms to generate trails. For example, the template engine114 may be a twig template engine for optimizing PHP code. PHP is ageneral-purpose server-side scripting language originally designed forWeb development to produce dynamic Web pages. PHP may be deployed on theweb server 112. Likewise, Ruby, Python, active server pages (ASP) orother server-side script engines and languages may be utilized in theweb server 112.

The application programming interfaces (APIs) are a defined set ofhypertext transfer protocol (HTTP) request messages, along with adefinition of the structure of response messages, which is usually in anExtensible Markup Language (XML) or JavaScript Object Notation (JSON)format. The APIs may decouple the request and response data from anyclient or device and/or platform, program, system or combinationthereof. Thus, the APIs allows for flexible and open interaction betweenthe trails system and clients, devices, platforms, and systems beyondtypical web and mobile browser examples. For example, an analysis systemmay be constructed and utilized, which, not requiring a trail, Requestor user visualization, consumes the APIs simply to extract trending tagand tote data from the trail API response object and integrates it withuser demographic information contained in the user API response objectto generate reports on trending interests within user demographics.

The web framework 120 or application framework is software utilized bydevelopers and other parties to implement the standard structure of oneor more applications for specific development environments, such asthose utilized by the Web server 112. The web frameworks may promote astandard structure for the APIs 116. The web framework 120 (e.g.Symfony2 utilizing PHP) may also define the underlying code structurefor trails related applications, such that an application may inheritpre-existing classes in the web framework 120.

The object relational mapper 118 is software that converts data betweendifferent or incompatible type systems in object oriented programminglanguages. For example, the object relational mapper 118 may be utilizedto generate a virtual object database. In one embodiment, the objectrelational mapper 118 may translate the logical representation of theobjects in the trail into a form that may be stored in the RDBMS 120. Asa result, objects may be stored and retrieved when requested by any ofthe front end clients 102.

The RDBMS is a database management system that controls the creation,maintenance, and use of a database in which the data for the trails isstored in tables and the relationships among the data of the trails(e.g. nodes, links, videos, images, etc.) are also stored in tables. TheRDBMS may utilize any number of relational models or object models. Forexample, MySQL may be utilized in conjunction with a Linux, Apache,MySQL, Perl/PHP/Python (LAMP) web server. Data and relationships mayalso be stored in non-relational systems (often called No-SQL), such asMongo or Couch DB.

The web crawler and indexing applications 130 are programs that browsethe World Wide Web or Internet 108 in an automated manner orstandardized fashion. In one embodiment, the web crawler and indexingapplications 130 create a copy of all visited websites and pages forlater processing by the search engine 126. The web crawler and indexingapplications 130 may also index the downloaded pages to provide fasterand more effective searches of Internet content including trails and atrails specific website. For example, the web crawler and indexingapplications 130 may work in conjunction with the search engine 126 tocollect, parse, and store data to facilitate fast and accurateinformation retrieval, particularly relating to trails and notes. Theweb crawler and indexing applications 130 may utilize any number ofknown web crawling and indexing applications as are known in the art.

The web crawler and indexing applications 130 may be utilized to checklinks or validate nodes and code of the trails. For example, the webcrawler and indexing applications 130 may periodically look up the nodesof the trail to ensure that the nodes are still valid. If the nodes areno longer valid or broken, the web crawler and indexing applications 130may automatically retrieve new links to the same content or may suggestthat the user update the trail. For example, the web crawler andindexing applications 130 may suggest updates to nodes that are nolonger accurate or correct.

The custom programming 128 is custom software utilized to adapt thefeatures and functionality of the search/indexing server 124 forgenerating and managing trails and the related analysis and mappinglogic and algorithms. The custom programming 128 may utilize languages,such as PHP, Python, or other languages.

The search engine 126 may be utilized to search for information on theInternet 108, as well as the Web server 112. The information may includetrails, web pages, images, information, and other types of files orcontent. The search engine 126 may include any number of publiclyavailable or private search engines that perform searches on demand orin real-time, such as those engines produced by Google, Microsoft,Yahoo, and other similar companies.

FIG. 2 is a pictorial representation of a trail management system 200 inaccordance with an illustrative embodiment. The trail management system200 may include all or portions of the online environment 100 of FIG. 1.FIG. 2 may display the different modes and steps utilized a web server201 to generate and manage trails.

In one embodiment, a uniform resource locator (URL) is provided by auser through a tracker interface 202. For example, utilizing a webbrowser or application, the user may navigate to or select a webpage.The content or resources associated with the URL may be retrieved fromthe Internet 204 through the proxy server 206. For example, the proxyserver 206 may request the URL and process the content. The proxy server206 may rewrite local references in the content to be absolute, so thatscripts, looks, and formats of the content (e.g. cascading style sheets)are retained when the webpage is rendered in the tracker interface 202.Additionally, session variables may be set to allow manipulation of thenodes in the trail while being built. For example, the user maymanipulate the nodes utilizing the viewing interface 208.

When tracking is finished, a builder 210 may process the sessionvariables into a trail. In one embodiment, the builder may set defaultparameters, such as shape, sequence, draft/publish state, and more. Aneditor interface 212 may be automatically launched once the trackersession and trail build is complete. The editor interface 212 may allowthe user to refine the trail, nodes, and associated information as aresubsequently described. The editor interface 212 may also allowlaunching functions for saving, publishing, sharing and playing thetrail. In another embodiment, once the trail build is complete anoverview page maybe launched which may contain an interface to allowediting trail information, such as title and description. The overviewpage may also be utilized to launch functions such as saving,publishing, sharing, or playing the trail.

Once the editing is completed, a database 214 is updated to reflect thechanges to the trail. The database 214 may create logs for analysis andbuilding profiles. The viewing interface 208 may be utilized to displaya trail overview page and an associated public URL associated with thepage (e.g. trails.by/mario/how-to-diagram-trails). A trail nodeinterface 216 may also have a public URL, an API representation, andwidget/embed code. The trail node interface, 216 may allow or retrievecontent associated with the nodes and direct navigation to the differentnodes of the trail. The viewing interface 208 may allow the user to playthe trail by launching the trail node pages (e.g.trails.by/Mario/how-to-diagram-trails/1,trails.by/mario/how-to-diagram-trails/2, etc).

In one embodiment, the user may perform any number of activities duringthe tracking or playing state of a trail. In one embodiment, the trackerinterface 202 may cURLs (cURL is a computer software project providing alibrary and command-line tool for transferring data using variousprotocols) the content of a page and rewrite it so that the trailmanagement system 200 may track their movements thru the web. ThecURLed/rewritten content is presented to the user in an i-framedenvironment, wherein the trail management system 200 manages the i-framefor obtaining the click and link data emanating from the user'sinteractions (typically in a ‘foreign’ i-frame, that data is notavailable to the outer/hosting environment.)

In another embodiment, the tracker interface 202 may track clicks whenplaying trails by collapsing or combining tracker and player interfacesinto one user-experience. For example, when a user plays a trail, theuser is navigated thru cURLed content re-presented in the i-frame of thetrail management system, such that the node link clicks (i.e. notnavigation clicks thru the upper navigation bar's previous/next buttonsor clicks on the trail visualization) are tracked and logged to thedatabase 214 for analysis and for generating automatic clones of thesource trail with new navigation appended as tangents and branches toproduce automatically cloned trails.

FIGS. 3-6 are pictorial representations of trails 300, 400, 500, and 600in accordance with illustrative embodiments. In one embodiment, thetrails may be displayed by a browser or other application. The trails300, 400, 50, and 600 may be displayed in a display or navigation mode,editor mode, a cloning mode, or other mode. The trails 300, 400, 500,and 600 show variations in the relationships of nodes. For example, thelink visualization, shape, size, and color of nodes may vary by trails300, 400, 500, and 600. In one embodiment, the nodes are interconnectedby lines making up the trails. The lines may not have a specific startor end point or directional indicators because there is no prescribedsequence. In another embodiment, the lines may include a numbered orderor arrows indicating a sequence order if preferred by the generatinguser.

The nodes of each of the trails 300, 400, 500, and 600 may displaycontent associated with each of the nodes according to interactive ornon-interactive triggers, as configured by the preferences of the trailcenter. As a result, a user may be presented a preview before the userview and navigate the trails 300, 400, 500, and 600 at his/her leisureand convenience.

For example, with regard to FIG. 4, the user may navigate the trail 400by selecting a node, such as nodes 402, 404, 406, 408, or 410. The trail400 may be configured to show linear information or nonlinearinformation. For example, the nodes of trail 400 that extend along astraight line may represent linear information. Nodes 406, 408, and 410may represent tangential information that the user still finds importantenough to share but that may deviate from the original question or topicprocess. Alternatively, the nodes 406, 408, and 410 may representalternative trails or pathways that may be useful to other users.

In one embodiment, trail 400 may be generated in response to a request.For example, a user may request information on a website, such as “Howdo you remove red eyes in Photoshop?”, “How do you successfully growtomatoes in Kansas City?”, or “What exercises are best for lower backinjuries?” In one embodiment, the trail title may be the originalrequest. In another embodiment, the trail title may be specified by auser, but the original request may also be listed. The trail 400 mayalso include a description that provides a summary or overview of theinformation addressed by the trail 400. In one embodiment, the trail 400may include tags, which are user-supplied keywords used in indexing,searching, relating, suggesting, and filtering trails and nodes. Theindividual nodes of a trail may also have tags which are user-suppliedfor that node in that trail. For example, the CNN website might be anode in multiple trails with tags “news, politics” in Trail A and“world, news, sports” in Trail B. A node's tags are used in indexing,searching, suggesting, filtering, and relating nodes and trails. Acombination of trail and node tags, in conjunction with other factors,may also be used for algorithmically generated trails.

A session variable may be created in response to a user selecting to“Propose a Trail as an Answer” when viewing a request. The sessionvariable carries the request tags into the next trail edited, allowingthe user to make a new trail or edit an existing trail. Shared tagsamong trails, and requests may be connected for better informationexchange and increased relevance in searching and filtering.

In one embodiment, once the trail 400 is loaded for editing. The systemfirst checks for tags in a session variable and/or from a database.Next, the system finds requests which share tags in (tags may be scoredby count and semantic values). Next, the system allows the user tochoose the trails that best answers the request.

Once a request is received from a user to save the trail 400, the trail400 and request may be saved in a database. Next, the system sends anotification to the system and request owner that the trail 400 has beenproposed as an answer so that the requestor may play the trail and mayselect to have the trail 400 show up on the request's page as the ‘bestanswer’ trail.

Once the user is signed in any number of editing functions may beperformed or required within or separate from an editing mode orinterface. For example, the title, description, and tags associated withdifferent nodes may be set. The user may alter the shape and sequence ofthe nodes in the trail 400. The user may also set the status of thetrail 400 between draft or published (e.g. the draft trail is onlyvisible to the owner, a published trail may be available to the public),free or paid, or public or private. In addition, the user may add notesor tags to nodes. The user may add or delete nodes and URLs and filesfrom a content library. The user may also select to connect orassociated the trail 400 with a trail request or questions. The user mayalso delete the trail 400 altogether.

As previously described, the nodes may have no defined sequence. In oneembodiment, the trail 400 may be assigned a sequence based on time ofgeneration. In another embodiment, the user may set a sequence for thetrail 400 by selecting the nodes in an order the nodes are to be labeledor sequenced. For example, the nodes may display numbers indicating asequence selected by the user. The nodes of the trail 400 may be linear,non-linear (spirally positioned), divergent, based on shapes, orrandomly positioned. The user may also set the status of the trail 400between draft or published (e.g. the draft trail is only visible to theowner, a published trail may be available to the public). In addition,the user may add notes or tags to nodes. The user may add or deletenodes and URLs and files from a content library. The user may alsoselect to connect or associated the trail 400 with a trail request orquestions. The user may also delete the trail 400 altogether.

As previously described, the nodes may have no defined sequence. In oneembodiment, the trail 400 may be assigned a sequence based on time ofgeneration. In another embodiment, the user may set a sequence for thetrail 400 by selecting the nodes in an order the nodes are to be labeledor sequenced. For example, the nodes may display numbers indicating asequence selected by the user.

Referring now to FIG. 5, the trail 500 may include multiple nodespositioned as selected by user. The trail 500 may also include one ormore divergent paths or additional nodes. The trail 500 illustrates howthe nodes may be positioned nonlinearly by the user.

Referring now to FIG. 6, the trail 600 illustrates nodes 602, 604, 606,and 608 that may vary in size, shape, and color. The nodes 602, 604,606, and 608 vary in size, shape, and appearance. In one embodiment, thesize, shape, color or appearance of the nodes 602, 604, 606, and 608 maycorrespond to the information stored in the node. The nodes 602, 604,606, and 608 may be automatically selected or selected by the user.

FIG. 7 is a pictorial representation of a trail overview interface 700in accordance with an illustrative embodiment. In one embodiment, thetrail overview interface 700 may be utilized to view a trail 702 and theassociated information. For example, the trail overview interface 700may allow a user to sign in with a username and password (not shown).The trail overview interface 700 may be integrated with or separate fromthe editor interface as was previously described. In response to signingin, the trail editor may be displayed. As a result, the user may editthe node notes and tags utilizing the trail overview interface 700 (e.g.via AJAX save).

If the user is not signed in or the trail 700 is not associated with theuser, the trail 700 may be cloned and a trail editing functiondisplayed.

The trail overview interface 700 may allow the user to start the trail702. The user may select a node 704 or thumbnail 706 to see additionalinformation, such as a clickable URL, the node's title, notes, and tags.The trail overview interface 700 may also be utilized to add a comment,share a trail through a social network (e.g. Facebook, twitter, e-mail,code and sentence etc.), view statistics (e.g. shares, clones, ratingsetc.), flag the trail 702 for notifying an administrator, rate the trail702 utilizing a scale, numeric value, thumbs up or thumbs down, or othersimilar writing, subscribed to tags for the trail 702, or subscribe tothe user or curator that generated the trail.

FIG. 8 is a pictorial representation of a display interface 800 inaccordance with an illustrative embodiment. The display interface 800shows one embodiment of a trail 802. In this example, the trail 800 maybe titled “Puerto Rico Trip” and may be a response to a request “What isyour ideal trip to Puerto Rico?”

The trail 802 shows the nodes labeled according to various categories.In this example, the categories or types of nodes include restaurant,hotel, and entertainment. In addition, the connections between notes mayinclude arrows indicating a defined sequence in order selected by theuser. In one embodiment, a pop-up, window, thumbnail, or otherinteractive display may be displayed in response to the user selecting anode 804 or hovering over the node 804. The trail 802 includes varioussizes and shapes of nodes. The beginning and ending nodes of the trail802 may also differ.

In one embodiment, the display interface 800 may include options 804.The options 804 may allow the user to share, duplicate, rate, or reorderthe trail 802 or portions of the trail 802. In one embodiment, inresponse to a selection of one of the options 804 and editing orpersonalization interface may be displayed to the user to configurepermissions, notes, labels, tags or so forth.

FIG. 9 is a flowchart of a process for creating a trail from a templatein accordance with an illustrative embodiment. The process of FIGS. 9-12may be implemented from one or more communicating devices or systems(referred to herein as the “system”). The process of FIG. 9 may begin bylogging in a user in response to receiving user information (step 902).In one embodiment, the user information is a username and password. Theuser information may also be a username or identifier utilized with anynumber of other social networks, services, or compatiblewebsites/interfaces.

Next, the system displays a blank a work interface to the user (step904). In one embodiment, the blank work interface is a blank canvas ortemplate that includes no nodes or links may be utilized by the user.The system may require user information or a login during step 902 sothat a content library is available to the user during generation of thetrail.

Next, the system receives user selections of nodes for insertion in thework interface from a content library (step 906). For example, the usermay utilize a touchscreen of a tablet to drag a node from a contentlibrary into their work area to in the process of manually creating atrail. Trails may be created and edited utilizing drag and dropmethodologies. For example, pictures, videos, files or URLs may bedragged to associated content with each node. Similarly, the nodes maybe positioned or reordered by dragging the nodes or other components ofthe trails.

FIG. 10 is a flowchart of a process for creating a trail in accordancewith an illustrative embodiment. The process of FIG. 10 may beimplemented by a computing system or communication system interactingwith a user. In one embodiment, the user interactions and feedback maybe received through a user interface.

The process may begin with a determination whether to receive the trailinput manually, import a trail, or clone the trail (step 1002). Thedetermination of step 1002 may be performed in response to a userselection. For example, the user may select to generate a new trail.Alternatively, the user may select to import or clone a trail previouslycreated by the user or from another user.

If the system determines to receive the trail input manually, the systempresents an input form and asks for a URL or search term (step 1004).The input form may be a default form for creating a new trail. Inanother embodiment, the input form may be generated based on the user'shistory or previous selections. In another embodiment, the system mayreceive input from a bookmarklet or other source of code available to amodern web browser. In another embodiment, the system may receive inputfrom a CSV file, or from a remote system to the API. In some cases, theuser may prefer to start a trail from scratch. In order to document aprocess or method from the very beginning. In one embodiment, a receivedURL or search term may be utilized as a first node of the trail.

Next, the system may direct the user to a framed version of the URL inresponse to receiving a URL (step 1006). In one embodiment, the systemmay display a tracker mode of the trail generator for viewing the URLand associated content. In one embodiment, the system may return an APIresponse confirming a successful reception of trail input.

If the system determines to import a trail during step 1002, the systemuploads a file selected by user and imports the content to automaticallygenerate the trail (step 1008). The file may be a list of URLs orwebsites that include content utilized to form the trail. The file mayalso be a document or a number of bookmarks that are compiled together.Any number or types of files may be utilized to import the contentutilized to generate the trail.

Next, the system may treat the input as a search term in response to theinput not being a single URL or set of multiple URLs (step 1010). Step1006 may be utilized if the file or input consists of a single URL.Steps 1006 and 1010 may be performed simultaneously for input that doesand does not include URLs.

If the system determines to clone a trail, the system clones anotheruser's public trails according to allow parameters, and opens the trailfor editing (step 1012). Many users may encourage sharing and crowdsourcing information for the trails by setting them to be publiclyavailable. Users may also specify parameters for sharing trails. Forexample, trails may be shared with individuals that are associated witha particular group. The parameters may also specify individuals orgroups that may not access or clone the user's trail. In addition, theparameters may specify notices regarding terms of use for cloning theuser's trail. Next, the system processes the clone trail according tosteps 1006 and 1010.

Next, the system adds nodes to the trail in response to selections bythe user (step 1012). The system may be configured to monitorselections, steps, or navigation by a user and automatically add thosesteps as nodes to the trail. For example, as the user navigateswebpages, each URL may be added as a note to the trail and may besubsequently reordered, removed, or otherwise managed.

Next, the system may revise the parameters of the trail in response touser selections to edit the trail (step 1014). Next, the system maydisplay the nodes of the trail for receiving user input to furthermanage the nodes (step 1016). The process of steps 1012-1016 may berepeated a number of times until the user is finished or selects to saveor post the trail.

FIG. 11 is a flowchart of a process for generating trails in accordancewith an illustrative embodiment. The steps of FIG. 11 are notnecessarily performed sequentially, but instead may be performed in anynumber of potential sequences involving the steps and processes of FIG.11 and the other described embodiments. The shown embodiment and use ofthe term “next” is only one of innumerable potential sequences. Theprocess of FIG. 11 may begin with the system receiving a user selectionof a web browser with an installed trails bookmarklet (step 1102). Thebookmarklet may be a script, program, instructions, or add-on that isintegrated with or separate from the web browser.

Next, the system receives a user selection to add a URL to a trail (step1104). In one embodiment, the user may select an icon, enter a shortcut,give a voice command, or otherwise select to add the URL to the trail.

Next, the system determines whether a trail is in process (step 1106).If the system determines the trail is in process, the system adds theURL to the existing trail (step 1108). Next, the system determineswhether the user is signed into trails associated website (step 1110).If the user is signed into a trails associated website, the systemassigns the trail to a user identification (step 1112). The useridentification may be an account, user profile, username, login,customer number, or other information associated with the user. Thetrail is assigned to the user so that the user may subsequently accessand manage the trail. In addition, each new or previously created trailcreated by this signed in user is associated with the user andcontrollable by the user.

If the system determines a trail is not in process during step 1106, thesystem creates a new trail and adds the URL to the new trail (step1114). Next the system determines whether the user is signed into atrails associated website (step 1110). If the system determines the useris not signed into a trails associated website during step 1110, thesystem creates the trail as a guest trail and the signs a temporaryidentification to the user (step 1116). The system permits the guest tocreate, edit, and save the guest trail and indicates the guest trailcannot be published while owned by the guest (step 1118). Next, thesystem assigns the guest trail to the user identification in response tothe user acquiring a user identification (1120).

FIG. 12 is a flowchart of a process for managing a trail in accordancewith an illustrative embodiment. The process of FIG. 12 may begin byreceiving a selection of an activity to document via a trail (step1202). The activity may be any number of processes that may be performedutilizing the computer or that may be learned via the computer orcommunications device. For example, the activities may include anynumber of activities, such as learning how to research your ancestors,planning for a vacation, teaching kindergartners to tie shoes, or how toclean a gun.

Next, the system may receive user preferences for the trail (step 1204).The user preferences may include parameters, selections, or feedbackthat controls the access and management of the trail. The system namesthe trail in response to a user selection (1206). For example, the usermay specify “Selling a house yourself” as the title. In one embodiment,the system may provide suggested names based on an original question,selections, related URLs, or other information associated with thetrail. The system may even provide and automatically generated nameuntil replaced by the user.

Next, the system may create descriptive characteristics of the trail(step 1208), such as notes, tags, and description. The descriptivecharacteristics (e.g. name of the nodes) may be similarly selected orinput by the user. In another embodiment, the descriptivecharacteristics may be automatically completed in response to theassociated URL, information, video, or so forth. Next, the system maypersonalize the trail visualization (step 1212). During step 1212, theuser may select or create the shapes, colors, descriptions, nicknames,configuration, and sequence of the trail, nodes, interconnecting lines(or connectors), and other components of the trails. The nodes andconnectors may be arranged and rearranged according to user input. Theuser may also select whether pop-up windows or information are displayedand other viewing preferences for the trail. The user may also setparameters to show or hide pop-up windows or other visual informationfor the trail. This information may be exposed automatically accordingto events (i.e. page refresh, or relative or absolute time triggers) oraccording to interaction(s), such as hover, focus, blur, load, unload ofresponses, requests or other interaction-based triggers.

Next, the system makes available the trail according to the userpreferences (step 1214) or system default preferences. During step 1214,the system may hierarchically organize the information and dataassociated with the nodes, connectors, and other components of thetrail. In one embodiment, the user preferences may indicate whether thetrail is public, private, paid, or otherwise shared. The userpreferences may also specify notifications or messages that may be sentto the user and other interested parties in response to the trail beingposted. The trail may be posted, communicated, displayed, or otherwisemade available.

In one embodiment, the trails systems and software herein described maygenerate revenue primarily as an SAAS offering with membership tiers.The base tier may be free and allows essentially a full experience (forguests or signed-in users) with the core elements of trails, requests, auser profile, and more. In one embodiment, two paid tiers forindividuals or small organizations offer increasing benefits such aspublic/private options, color options, increased storage, usageanalytics, and more. A top level tier may include a hosted install forlarger organizations or those desiring full control of a unique URL,such as sxsw.trails.by, complete control of look and feel including sitetheming and customization, featuring and promotion of users, requests,and trails, fine-grained access-control, ability to push trails tousers, and so forth. However, sources of revenue may includeadvertising, data-analysis, e-commerce, and referral methods, amongothers known in the art for content based sites and applications.

FIG. 13 is a flowchart of a process for searching trails in accordancewith an illustrative embodiment. The process of FIG. 13 may begin withthe system presenting a user with an input form asking for a URL or asearch term (step 1302). The input form may be a webpage, application,search field, or so forth.

Next, the system determines whether a URL is present in the user input(step 1302). If a URL is present in the user input, the system redirectsthe user to a framed version of the URL (step 1304). For example, theuser may view the search results in the “Tracker” mode of the website orapplication.

Next, the system expands the query and a collection of trails, requests,users and URLs which match the query from a cache into a search result(step 1306). If possible, the system retrieves available information,including trails, requests, users, and URLs from the cache or othermemory of the system. In one embodiment, light-weight semantic processesare utilized to expand the query and collection of trails and URLs fromthe cache. For example, the system may utilize both off-the-shelfsoftware packages (SOLR, NUTCH, NLTK, etc), external APIs, and customcode (i.e. python) to implement semantic expansion.

If the URL is not present in the user input in step 1302, the systemtreats user input as a search term (step 1308). As a result, the userinput may be treated as a URL or as a search term for quickly returningresults. The system then expands the query and a collection of trails,requests, users, and URLs which match the query from a cache into asearch result (step 1306).

Next, the system determines whether the search count is acceptable (step1310). In one embodiment, the search count may indicate a thresholdlevel or minimum amount of search results that must be returned to meetthe search count. In another embodiment, relevance may be utilized todetermine whether the search count is acceptable. If the search count isnot acceptable, the system performs an application program interfacecall to one or more external search engines to retrieve more URLs (step1312). The system may add the search results from the external searchengines to the cache if not already present (step 1314).

Next, the system determines whether the user is signed in (step 1316).Step 1316 is also performed in response to determining the search countis acceptable during step 1310. During step 1316, the user may also bepresented with the option to sign in if the user has a username andpassword for example. If the user is not signed in, the system presentsthe trails, requests, users, and URLs from the search results to theuser with various markings and order (step 1318).

If the system determines the user is signed in, the system scorestrails, requests, users, and URLs of the search results based on a sensemap (step 1320). The sense map is a product of learning preference,semantic, and media type analysis of the user's history of interactions.During step 1320, the search results may be reordered or prioritizedbased on the sense map to make the results more applicable to the user.Whether the user is signed in may be important because a user profilemay be created for each user. The profile may be created and updatedbased on the trails, requests, and users the user creates, views, rates,clones, and comments upon. The learning preference map, media types, andsemantic analysis of the trails, requests, users, and URLs in thetrails' nodes, notes, tags, descriptions and other characteristics andare factored into the ranking of search results for the user.

Next, the system scores the trails, requests, users, and URLs of thesearch results based on learning peers of the user (step 1322). Thesearch results may also be reordered or prioritized during step 1322 inresponse to the learning peers of the user that may be calculated forthe search results. Trails, requests, users, and URLs may also garnerratings from learning peers, who are users that are determined to besimilar based on learning preference scores. As a result, a subset ofsearch results may be generated utilizing the learning preferences. Peerrelevance is a set of scores along several dimensions, including typicaluser profiling dimensions, such as demographics and geodata, and otherdimensions created by the system's analysis. The system creates thelearning preference map of the learning preferences desired by the userand the learning preferences offered by URLs and nodes (e.g. URLs addedto the system by user which may have been annotated by notes, tags,titles and descriptions) and by extensions the trails in which thoseURLs and nodes reside. As a result, the system creates and presentssearch results for trails, requests, and users that are more relevant tohow a user likes to learn.

FIG. 14 is a pictorial representation of profiles 1400 in accordancewith an illustrative embodiment. The profiles 1400 are maintained for anumber of users. The profiles 1400 may be utilized to store userpreferences associated with each of the users. The profiles 1400 mayalso store or associate trails with the users. The user preferences mayinclude information for limiting search results including trails,requests, users, and URLs returned to a user after a query or on apersonalized interests page. The profiles include multiple dimensions,factors, or logic that may be utilized to customize information forusers. The profiles 1400 may be stored in any number of memories ordatabases for access.

In one embodiment, relevance of trails may be performed utilizing asense map and peer relevance 1402. The peer relevance may be a module,program, script, logic, or executable instructions. The peer relevance1402 may include learning preferences 1404, learning peers 1406, scores1408, and mapper 1410. The information retrieved or stored by thelearning preferences 1404 and the learning peers 1406 may be utilized togenerate the scores 1408 which may then be associated with each of theprofiles 1400. The scores 1408 are generated based on the implicit andexplicit actions of the user. The scores 1408 may be implicitly affectedby cloning, creating, viewing, rating, editing/pruning of trails andnodes. The scores 1408 may also be affected by answering questions inone or more quizzes or survey utilized to determine a learningpreferences of the user.

For example, a sample question may ask the user to imagine “You have aflat tire on your bike. You would learn how to fix it by: A. Look for ayoutube video, or something with diagrams and step-by-step pictures. B.Just jump right in, take off the tire, look for some tools. Learn it bydoing it. C. Reading up on Wikipedia or a handy Biking Today article. D.Phone a friend who knows about these things, and have them tell youhow.”

In one embodiment, the scores 1408 are calculated utilizing arelative-strength score (rather than an absolute score). For example, infour dimensions labeled A, B, C, D representing different kinds ofcognitive and media-type preferences, a user with a score of 12A, 11B,11C, 6D is peers with a user who scores 6A, 4B, 4C, 3D in that Arelative to B, relative to C relative to D is the same. As a result, asystem may generate the profiles 1400 (and therefore meaningful peergroups) after very few questions or other learning preferenceinfluencing actions. In addition, the total number of peer groupings maybe reduced compared to typical absolute scoring methods. For example,the standard VARK test with score 0-16 along 4 dimensions requires auser to take a 16question quiz (generating the 0-16 score per dimension)generating 83,521 distinct peer groups. By converting the meaningfulmeasure to relative strengths, the distinct groups may be reduced to 75,which includes codes for equal dimensions, such as where B=C or A=B=D orso forth. By using smaller number of peer groups in a relative strengthsystem the learning peers 1406, searches may be extended or contractedin search of peer counts with less computation resources.

Every user including guests and members are assigned to one of theprofiles 1400. The learning peers 1406 specify how closely aligned theprofiles 1400 are to each other. As previously specified, the peerrelevance 1402 includes multiple dimensions. The learning preferences1404 and the learning peers 1406 are utilized to match and map a pieceof content (i.e. site, presentation, document, etc.) to the profiles1400.

In one embodiment, the profiles are created using a learning preferencesystem and method called words, actions, sounds, and pictures (WASP).The four dimensions of preference of WASP may be closely related tomedia types. There are at least 75 permutations of the dimensions ofWASP that may be utilized with equal relative weighting, such as PAWS,SWPA, A(WS)P, (WA)SP, and (PAS)W, to name a few.

The profiles 1400 may be generated after or during interactions with thesite, program, or add-on (e.g. http://trails.by) which may includetaking an optional quiz. Analysis of the interactions may includesemantic and media-type analysis of trails that are rated, created,walked, cloned, and so forth.

In one embodiment, the profiles 1400 may be created using relativestrength rather than absolute strength. A user may be assigned to aprofile after many different types of interactions rather than onlyafter the user has filled out a mandated questionnaire or survey.

In another embodiment, the profiles 1400 may be compiled using the VARKmethod. For example, VARK may be a questionnaire that provides userswith a profile of their learning preferences. The preferences provide aset of scored dimensions describing the ways that the user wants totake-in (i.e. “learn”) and give-out (i.e. “teach”) information.

The illustrative embodiments provide a system, method, and executableinstructions for creating, managing, and accessing trails. The trailsmay be generated automatically or based on specific user feedback andinstructions. The trails may be navigated randomly or in a sequence toallow accessing users to determine the path or trail that they will makethrough the provided content. The trails are dynamic and may be accessedvia applications, websites, or other communications and computingfunctionality. The user profiles allow a user to find and create contentthat corresponds to the cognitive learning and peers that are mostclosely associated with him or her. The trails may be utilized to sharegeneral knowledge, specific processes, training, or other informationvisually, audibly, and tactilely.

The previous detailed description of a small number of embodiments forimplementing the invention and is not intended to be limiting in scope.The following claims set forth a number of the embodiments of theinvention disclosed with greater particularity.

What is claimed:
 1. A method for visually tracking a learned process,the method comprising: receiving user input utilized to generate thelearned process, wherein the user input includes a title for the learnedprocess; receiving user selected content; creating nodes to representsteps of the learned process in response to the user input and the userselected content; associating information contained in the user selectedcontent with each of the nodes; connecting the nodes in an order forperforming the learned process based on the user input and the userselected content; visually displaying the connected nodes as a trail forone or more users to perform the learned process, wherein the trailprovides an answer to a particular question, and wherein visuallydisplaying the trail is performed in response to receiving theparticular question from the one or more users; receiving ratings forthe trail; and enabling viewing of statistics including the ratingsassociated with the trail.
 2. The method according to claim 1, furthercomprising: periodically validating the nodes of the trail; responsiveto a determination that a node is invalid, retrieving updatedinformation associated with the node; and updating the node in the trailwith the updated information.
 3. The method according to claim 1,wherein the user selected content is at least one of a plurality ofuniform resource locators and websites.
 4. The method according to claim2, further comprising: responsive to a determination that a node isinvalid, providing a notification to the user to update the informationassociated with the node.
 5. The method according to claim 4, whereinthe trail is posted to a website that includes a plurality of trails,and wherein the plurality of trails are sorted by the title.
 6. Themethod according to claim 1, further comprising: receiving a file,image, or video as the user selected content.
 7. The method according toclaim 1, further comprising: organizing a plurality of trails; andindexing the plurality of trails to be searched by a search engine. 8.The method according to claim 1, wherein the user input includes adescription that provides a summary of the information addressed by thetrail.
 9. The method according to claim 1, further comprising: settingpermissions for the one or more users to access the trail in response tothe user input.
 10. The method according to claim 7, wherein each of theplurality of trails are configured to be rated by a plurality of users.11. A system for visually tracking a learned process, the systemcomprising: a client device having one or more processing unitsconfigured to execute instructions to receive user input utilized togenerate the learned process and receive user selected content; and aserver device having one or more processing units configured to executeinstructions to create nodes to represent steps of the learned processin response to the user input and the user selected content, associateinformation contained in the user selected content for each of thenodes, connect the nodes in an order for performing the learned processbased on the user input and the user selected content, visually displaythe connected nodes as a trail for one or more users to perform thelearned process, receive ratings for the trail, and enable viewing ofstatistics including the ratings associated with the trail, wherein thetrail provides an answer to a particular question, and wherein visuallydisplaying the trail is performed in response to receiving theparticular question from the one or more users.
 12. The system accordingto claim 11, wherein the user input includes a title for the learnedprocess and permissions for allowing other users to access and utilizethe learned process.
 13. The system according to claim 11, wherein theuser input is enabled to be received before, during, and after thelearned process is completed.
 14. The system according to claim 11,wherein the user selected content is enabled to be at least one of ahyperlink, website, file, image, and video.
 15. The system according toclaim 11, wherein the information associated with each of the nodes isdisplayed to the one or more users in response to a selection of theassociated node.
 16. The system according to claim 11, wherein theserver device further organizes a plurality of trails, and indexes theplurality of trails to be searched by a search engine.
 17. The systemaccording to claim 16, wherein each of the plurality of trails areconfigured to be rated by a plurality of users.
 18. The system accordingto claim 11, wherein the user accesses the server device through a webbrowser including an application for generating the trail.
 19. Thesystem according to claim 11, wherein the trail is posted to a websitein response to a selection by the user.
 20. A device for visuallytracking a learned process, the device comprising: a processor forexecuting a set of instructions; a memory in communication with theprocessor for storing the set of instructions, wherein the set ofinstructions are executed to: receive user input utilized to generatethe learned process; receive user selected content; create nodes torepresent steps of the learned process in response to the user input andthe user selected content; associate information contained in userselected content for each of the nodes; connect the nodes in an orderfor performing the learned process based on the user input and the userselected content; visually display the connected nodes as a trail forone or more users to perform the learned process, wherein the trailprovides an answer to a particular question, and wherein visuallydisplaying the trail is performed in response to receiving theparticular question from the one or more users; periodically validatethe nodes of the trail; receive ratings for the trail; and enableviewing of statistics including the ratings associated with the trail.